#pragma once

#include <windows.h>

#include "Engine/inc/SGRenderer.h"

class SGEngine
{
public:
	SGEngine();
	~SGEngine();

	BOOL Start();
	BOOL Update(FLOAT DeltaSeconds);
	BOOL End();

	BOOL Initialize(HINSTANCE hInstance);
	BOOL Loop();

	static LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam);


protected:
	void PreInitialize();
	BOOL InitializeRenderer(HINSTANCE hInstance);

	BOOL Tick(FLOAT fDeltaSeconds);


private:
	SGRenderer*			m_Renderer;

	FLOAT				m_LastTickTime;
};